A Complete Narrowing Calculus for Higher-Order Functional Logic Programming

نویسندگان

  • Koichi Nakahara
  • Aart Middeldorp
  • Tetsuo Ida
چکیده

Using higher-order functions is standard practice in functional programming, but most functional logic programming languages that have been described in the literature lack this feature. The natural way to deal with higher-order functions in the framework of ( rst-order) term rewriting is through so-called applicative term rewriting systems. In this paper we argue that existing calculi for lazy narrowing either do not apply to applicative systems or handle applicative terms very ine ciently. We propose a new lazy narrowing calculus for applicative term rewriting systems and prove its completeness.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Higher-Order Demand-Driven Narrowing Calculus with Definitional Trees

We generalize the Constructor-based ReWriting Logic CRWL to the setting of the simply typed λ-calculus, where theories are presented by conditional overlapping fully extended pattern rewrite systems. We claim that this logic is useful for higher-order functional-logic programming, and propose a Higher-Order Lazy Narrowing calculus HOLNDT for answering joinability and reducibility queries, in wh...

متن کامل

Higher-Order Narrowing with De nitional Trees

Functional logic languages with a sound and complete opera tional semantics are mainly based on narrowing Due to the huge search space of simple narrowing steadily improved narrowing strategies have been developed in the past Needed narrowing is currently the best nar rowing strategy for rst order functional logic programs due to its opti mality properties w r t the length of derivations and th...

متن کامل

Higher-Order Narrowing with Definitional Trees

Functional logic languages with a sound and complete operational semantics are mainly based on an inference rule called narrowing. Narrowing extends functional evaluation by goal solving capabilities as in logic programming. Due to the huge search space of simple narrowing, steadily improved narrowing strategies have been developed in the past. Needed narrowing is currently the best narrowing s...

متن کامل

A Call-by-Need Strategy for Higher-Order Functional-Logic Programming

We present an approach to truely higher order functional logic programming based on higher order narrowing Roughly speaking we model a higher order functional core language by higher order rewriting and extend it by logic variables For the integration of logic programs conditional rules are supported For solving goals in this framework we present a complete calcu lus for higher order conditiona...

متن کامل

Algebraic Semantics for Higher-order Functional-Logic Programming

In this paper we give a semantics of higher-order functional-logic programming in the framework of typed universal algebra. The functional-logic language concerned here is an applicative term rewriting system in which there is no lambda abstraction mechanism. Therefore ordinary rst-order narrowing can be used to solve higher-order query. The soundness and completeness of narrowing for both the ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995